package cn.zyq.ykb.service.config;

import cn.zyq.ykb.beans.config.ConfigRecord;
import cn.zyq.ykb.beans.user.User;
import cn.zyq.ykb.system.common.PageParam;
import com.github.pagehelper.PageInfo;
import sun.security.krb5.Config;

import java.util.List;

/**
 * 操作记录Service接口
 *
 * @author SystemAuth
 * @date 2023-05-24
 */
public interface ConfigRecordService {
    /**
     * 查询操作记录
     *
     * @param configRecordID 操作记录主键
     * @return 操作记录
     */
    ConfigRecord selectConfigRecordByConfigRecordID(Integer configRecordID);

    /**
     * 查询操作记录
     *
     * @param serviceID 操作记录业务ID
     * @return 操作记录
     */
    ConfigRecord selectConfigRecordByServiceID(String serviceID);

    /**
     * 查询操作记录列表
     *
     * @param pageParam
     * @return 操作记录集合
     */
    PageInfo<ConfigRecord> selectConfigRecordList(PageParam pageParam,User loginUser);

    /**
     * 查询操作记录列表
     *
     * @param param
     * @return 操作记录集合
     */
    List<ConfigRecord> selectConfigRecordList(ConfigRecord param);

    /**
     * 新增操作记录
     *
     * @param param 操作记录
     * @return 结果
     */
    int insertConfigRecord(ConfigRecord param);

    /**
     * 修改操作记录
     *
     * @param param 操作记录
     * @return 结果
     */
    int updateConfigRecord(ConfigRecord param);

    /**
     * 批量删除操作记录
     *
     * @param configRecordIDs 需要删除的操作记录主键集合
     * @return 结果
     */
    int deleteConfigRecordByConfigRecordIDs(Integer[] configRecordIDs);

    /**
     * 删除操作记录信息
     *
     * @param configRecordID 操作记录主键
     * @return 结果
     */
    int deleteConfigRecordByConfigRecordID(Integer configRecordID);

    /**
     * 获取刷新/置顶记录
     * @param loginUser
     * @return
     */
    List<ConfigRecord> getRecord(User loginUser);
}
